#!/bin/sh

# Slackware build script for Phalanx

# Written by Marco Pessotto <melmothx@gmail.com>
# public domain

PRGNAM=Phalanx
VERSION=${VERSION:-XXII}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
fi

set -e 

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION 
chown -R root:root .
chmod -R u+w,go+r-w,a-s .

# Apply a patch from the scid distribution by Pascal Georges, because this
# package is primary intended to run with scid.  If you don't want this 
# patch, just remove it from the patches/ directory
[ -f $CWD/setboard.patch.gz ] && patch -p1 < $CWD/patches/setboard.patch
# Set the defines by patching the Makefile. 
patch -p0 < $CWD/patches/defines.patch

make CFLAGS="$SLKCFLAGS -Wall -fomit-frame-pointer --std=gnu89 -D_GNU_SOURCE" 
strip --strip-unneeded phalanx
mkdir -p $PKG/usr/games
cp phalanx $PKG/usr/games
mkdir -p $PKG/usr/share/games/phalanx
cp eco.phalanx pbook.phalanx sbook.phalanx $PKG/usr/share/games/phalanx
mkdir -p $PKG/var/games/phalanx
install -m 0666 learn.phalanx  $PKG/var/games/phalanx/

# Don't clobber an existing /var/games/phalanx/learn.phalanx
mv $PKG/var/games/phalanx/learn.phalanx \
  $PKG/var/games/phalanx/learn.phalanx.new

# Add manpage from Debian
mkdir -p $PKG/usr/man/man6
gzip -9c $CWD/phalanx.6 > $PKG/usr/man/man6/phalanx.6.gz

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING HISTORY README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG 
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
